package com.example.mallapi.advice;/*
@author name
@data 2023/5/31-15:53
*/

import com.example.mallapi.common.Result;
import com.example.mallapi.exception.BusinessException;
import com.example.mallapi.exception.TokenException;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;

/**
 * 全局异常处理器
 */
@RestControllerAdvice
public class ExceptionHandlerAdvice {

    @ExceptionHandler(Exception.class)
    public Result handler(Exception e){
        e.printStackTrace();
        return Result.fail();
    }

    @ExceptionHandler(BusinessException.class)
    //处理自己的异常
    public Result handler(BusinessException e){
        e.printStackTrace();    //输出异常的详细信息，包括异常出现的位置、调用栈、异常类型等。
        return Result.fail(501,e.getMessage());
    }

    @ExceptionHandler(TokenException.class)
    //处理自己的异常
    public Result handler(TokenException e){
        e.printStackTrace();
        return Result.fail(401,e.getMessage());
    }
}
